Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose syncscope parameter for atomic add/sub #14

Merged
merged 6 commits into from
Aug 7, 2024
Merged

Expose syncscope parameter for atomic add/sub #14

merged 6 commits into from
Aug 7, 2024

Conversation

pxl-th
Copy link
Contributor

@pxl-th pxl-th commented Aug 3, 2024

  • Expose syncscope parameter for atomic add/sub.
    Applying syncscope "agent" to atomic add/sub enabled fast hardware atomics on AMDGPU targets.
    The plan is to also have AMDGPU extension for Atomix which will expose syncscope for @atomic macro for + - ops.
  • Bump minor version to 0.2.0.
  • Bump LLVM to 8.1
  • Bump min Julia to 1.10.

@maleadt
Copy link
Member

maleadt commented Aug 6, 2024

LLVM only explicitly documents the system and singlethread synchronization scopes, AFAIU everything else is target-specific. It seems weird to have to hard-code the scopes here then, although I guess that's a result of the design of the API here. (It would be much easier if we'd have the ability to static_eval arguments to the generator so that we could just use simple symbols.)

test/runtests.jl Outdated Show resolved Hide resolved
test/runtests.jl Outdated Show resolved Hide resolved
@maleadt
Copy link
Member

maleadt commented Aug 6, 2024

SGTM. I take it you've verified that this design works for AMDGPU.jl and is good to go?

@pxl-th
Copy link
Contributor Author

pxl-th commented Aug 6, 2024

I take it you've verified that this design works for AMDGPU.jl and is good to go?

Yes, I have everything else ready to go as well.

@maleadt maleadt merged commit 8b2ccff into JuliaConcurrent:main Aug 7, 2024
4 of 6 checks passed
@pxl-th pxl-th deleted the pxl-th/syncscope branch August 7, 2024 08:46
vchuravy pushed a commit to JuliaConcurrent/UnsafeAtomics.jl that referenced this pull request Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants